基于UG二次開發(fā)的工業(yè)機器人作業(yè)仿真系統(tǒng)設計
2013/9/27 13:47:39
1. 引言
工業(yè)機器人在現(xiàn)代制造系統(tǒng)中應用廣泛。機器人作業(yè)仿真系統(tǒng)軟件,通過在CAD環(huán)境中進行機器人虛擬樣機的布局設計與操作仿真,能夠有效地輔助設計人員進行機器人虛擬示教、機器人工作站布局、機器人工作姿態(tài)優(yōu)化,在物理工作站制造之前驗證設計的合理性,在虛擬環(huán)境中生成控制機器人作業(yè)的數(shù)控加工代碼。
目前不少學者對工業(yè)機器人仿真進行了研究。文獻[1]基于面向對象技術研究了示教再現(xiàn)型弧焊機器人離線編程系統(tǒng),介紹了系統(tǒng)總體設計方法和子模塊功能結構。文獻[2]提出了機器人運動過程的協(xié)調算法,采用插補計算的方法解決了仿真系統(tǒng)中機器人末端執(zhí)行器的直線運動和圓弧運動。文獻[3]針對PUMA560機器人,開發(fā)了一個面向對象的離線編程和圖形仿真系統(tǒng)。文獻[4]提出了一種交互式三維可視化離線編程和動態(tài)仿真系統(tǒng),并研究了焊接工藝中的焊道規(guī)劃技術。文獻[5]研究了離線編程系統(tǒng)的體系結構,介紹了工業(yè)機器人仿真軟件的功能模塊。文獻[6]論述了工業(yè)機器人仿真領域中的一種前沿技術即虛擬樣機技術,通過數(shù)字化的手段為產品設計制造提供仿真分析。文獻[7]研究了基于Matlab的焊接機器人運動學分析及仿真,運用DH方法建立了焊接機器人運動學方程,得到了機器人在不同坐標空間的各種運動參數(shù)曲線和數(shù)據。為了適應企業(yè)的設計環(huán)境,在一般CAD軟件中實現(xiàn)符合企業(yè)需求的工業(yè)機器人運動仿真,本文通過UG軟件的Open C API二次開發(fā)技術,構造了與UG軟件無縫集成的工業(yè)機器人作業(yè)仿真系統(tǒng)。
2. 仿真系統(tǒng)體系結構
基于UG二次開發(fā)的工業(yè)機器人作業(yè)仿真系統(tǒng)采用Visual C++和UG Open C API開發(fā)。系統(tǒng)與UG軟件無縫集成,UG軟件作為系統(tǒng)的底層支撐平臺。這款軟件成功地應用于汽車門框焊接機器人的作業(yè)仿真及布局設計。系統(tǒng)界面如圖1所示。
圖1 基于UG二次開發(fā)的工業(yè)機器人作業(yè)仿真系統(tǒng)
軟件系統(tǒng)的體系結構分為3個層次,15個子模塊。如圖2所示。人機接口層為操作人員提供了控制機器人虛擬樣機的接口;作業(yè)管理層是軟件系統(tǒng)的核心,用來實現(xiàn)人機接口層的操作命令;UG支撐層負責系統(tǒng)的圖形繪制,以及機器人運動和碰撞檢測在UG軟件中的實現(xiàn)。仿真系統(tǒng)有4大主要功能,即機器人運動求解與仿真、機器人運動過程碰撞檢測、機器人作業(yè)過程重用、機器人布局優(yōu)化。本文著重研究機器人運動仿真及碰撞檢測的關鍵技術。
工業(yè)機器人由若干桿件通過關節(jié)運動副裝配組成,如圖3所示??紤]到機器人基座需要由一個桿件表示,因此一個N自由度的機器人由N個關節(jié)連接了N+1個桿件。工業(yè)機器人是開鏈拓撲結構的多體系統(tǒng),可以用拉格朗日多體運動學[8]描述機器人的運動行為。通常機器人學DH法則[9]用4×4的齊次矩陣來表示桿件在參考坐標系中的位置和姿態(tài)。
采用修改裝配約束的方案需要事先建立合適的機器人裝配約束。如轉動關節(jié)應采用面面角度約束,移動副應采用面面距離約束。關鍵代碼如下:
//由機器人裝配模型的實例獲取原型
tRobotPart = UF_ASSEM_ask_prototype_of_occ (tRobot);
//設置當前機器人裝配模型為工作部件,并保存原始工作部件
UF_ASSEM_set_work_part_quietly (tRobotPart, &tOldWorkPart);
//創(chuàng)建裝配模型中轉動關節(jié)角度約束的表達式
sprintf (newExp, "%s=%lf", Joint.lh_str, Joint.dAngle);
//修改裝配約束
UF_MODL_edit_exp (newExp);
//更新模型,這樣機器人運動副就發(fā)生了轉動
UF_MODL_update ( );
//恢復原始工作部件為當前工作部件
UF_ASSEM_set_work_part_quietly (tOldWorkPart, &tRobotPart);
采用裝配重定位的方案不需要建立裝配約束,但需要指定桿件局部坐標系原點和姿態(tài)矩陣的前6個元素。關鍵代碼如下:
// Joint.tIns為桿件實例;new_origin是double[3]數(shù)組,為局部坐標系原點;new_csys_matrix是double[6]數(shù)組,為局部坐標系x軸和y軸的姿態(tài)
UF_ASSEM_reposition_instance (Joint.tIns, new_origin, new_csys_matrix);
仿真系統(tǒng)中機器人運動過程如圖4所示。
碰撞檢測可以防止機器人運動過程中與工件、夾具、機架等發(fā)生干涉。由人機接口層中的碰撞檢測開關,作業(yè)管理層中的碰撞檢測子模塊,和UG支撐層中的間隙檢查功能構成。機器人運動過程中的碰撞檢測流程如圖5所示。UG支撐層中實現(xiàn)間隙檢查的關鍵代碼為:
//進行間隙分析,datasetWorkpart為分析結果數(shù)據集合
UF_CLEAR_do_clearance_analysis(datasetWorkpart);
//獲得間隙分析結果,其中summary.n_all_interf中存儲了干涉數(shù)目
UF_CLEAR_ask_results(datasetWorkpart,&summary);
仿真系統(tǒng)中機器人碰撞檢測如圖6所示。
本文采用UG軟件的Open C API二次開發(fā)技術,構造了與UG無縫集成的工業(yè)機器人作業(yè)仿真系統(tǒng)。設計了包含人機接口層、作業(yè)管理層、UG支撐層的機器人作業(yè)仿真軟件體系結構。針對UG運動模塊難以進行二次開發(fā)的問題,本文通過對UG裝配模塊的二次開發(fā)來實現(xiàn)機器人運動仿真。機器人運動過程碰撞檢測功能則由UG間隙檢查模塊的二次開發(fā)實現(xiàn)。仿真軟件成功地應用于汽車門框焊接機器人的作業(yè)仿真及布局設計。
工業(yè)機器人在現(xiàn)代制造系統(tǒng)中應用廣泛。機器人作業(yè)仿真系統(tǒng)軟件,通過在CAD環(huán)境中進行機器人虛擬樣機的布局設計與操作仿真,能夠有效地輔助設計人員進行機器人虛擬示教、機器人工作站布局、機器人工作姿態(tài)優(yōu)化,在物理工作站制造之前驗證設計的合理性,在虛擬環(huán)境中生成控制機器人作業(yè)的數(shù)控加工代碼。
目前不少學者對工業(yè)機器人仿真進行了研究。文獻[1]基于面向對象技術研究了示教再現(xiàn)型弧焊機器人離線編程系統(tǒng),介紹了系統(tǒng)總體設計方法和子模塊功能結構。文獻[2]提出了機器人運動過程的協(xié)調算法,采用插補計算的方法解決了仿真系統(tǒng)中機器人末端執(zhí)行器的直線運動和圓弧運動。文獻[3]針對PUMA560機器人,開發(fā)了一個面向對象的離線編程和圖形仿真系統(tǒng)。文獻[4]提出了一種交互式三維可視化離線編程和動態(tài)仿真系統(tǒng),并研究了焊接工藝中的焊道規(guī)劃技術。文獻[5]研究了離線編程系統(tǒng)的體系結構,介紹了工業(yè)機器人仿真軟件的功能模塊。文獻[6]論述了工業(yè)機器人仿真領域中的一種前沿技術即虛擬樣機技術,通過數(shù)字化的手段為產品設計制造提供仿真分析。文獻[7]研究了基于Matlab的焊接機器人運動學分析及仿真,運用DH方法建立了焊接機器人運動學方程,得到了機器人在不同坐標空間的各種運動參數(shù)曲線和數(shù)據。為了適應企業(yè)的設計環(huán)境,在一般CAD軟件中實現(xiàn)符合企業(yè)需求的工業(yè)機器人運動仿真,本文通過UG軟件的Open C API二次開發(fā)技術,構造了與UG軟件無縫集成的工業(yè)機器人作業(yè)仿真系統(tǒng)。
2. 仿真系統(tǒng)體系結構
基于UG二次開發(fā)的工業(yè)機器人作業(yè)仿真系統(tǒng)采用Visual C++和UG Open C API開發(fā)。系統(tǒng)與UG軟件無縫集成,UG軟件作為系統(tǒng)的底層支撐平臺。這款軟件成功地應用于汽車門框焊接機器人的作業(yè)仿真及布局設計。系統(tǒng)界面如圖1所示。
基于UG二次開發(fā)的工業(yè)機器人作業(yè)仿真系統(tǒng)設計
圖1 基于UG二次開發(fā)的工業(yè)機器人作業(yè)仿真系統(tǒng)
軟件系統(tǒng)的體系結構分為3個層次,15個子模塊。如圖2所示。人機接口層為操作人員提供了控制機器人虛擬樣機的接口;作業(yè)管理層是軟件系統(tǒng)的核心,用來實現(xiàn)人機接口層的操作命令;UG支撐層負責系統(tǒng)的圖形繪制,以及機器人運動和碰撞檢測在UG軟件中的實現(xiàn)。仿真系統(tǒng)有4大主要功能,即機器人運動求解與仿真、機器人運動過程碰撞檢測、機器人作業(yè)過程重用、機器人布局優(yōu)化。本文著重研究機器人運動仿真及碰撞檢測的關鍵技術。
圖2 仿真系統(tǒng)的體系結構
3. 機器人運動學求解及實現(xiàn)工業(yè)機器人由若干桿件通過關節(jié)運動副裝配組成,如圖3所示??紤]到機器人基座需要由一個桿件表示,因此一個N自由度的機器人由N個關節(jié)連接了N+1個桿件。工業(yè)機器人是開鏈拓撲結構的多體系統(tǒng),可以用拉格朗日多體運動學[8]描述機器人的運動行為。通常機器人學DH法則[9]用4×4的齊次矩陣來表示桿件在參考坐標系中的位置和姿態(tài)。
與運動學正問題對應的是機器人關節(jié)坐標控制方式,即操作人員直接指定各關節(jié)的移動長度或轉動角度,從而帶動末端執(zhí)行器運動。與運動學逆問題對應的是機器人直角坐標控制方式,即操作人員指定末端執(zhí)行器所期望的位置和姿態(tài),然后求解出各關節(jié)需要的移動長度或轉動角度,從而帶動末端執(zhí)行器運動。
以上是機器人作業(yè)仿真系統(tǒng)中作業(yè)管理層進行的機器人運動學求解。無論關節(jié)坐標控制還是直角坐標控制,UG支撐層都是通過關節(jié)運動來帶動機器人末端執(zhí)行器運動的。在仿真系統(tǒng)開發(fā)實踐中,發(fā)現(xiàn)UG運動模塊難以進行二次開發(fā),因此本文采用對UG裝配模塊的二次開發(fā)來實現(xiàn)機器人運動仿真,有修改裝配約束和裝配重定位兩種技術方案。采用修改裝配約束的方案需要事先建立合適的機器人裝配約束。如轉動關節(jié)應采用面面角度約束,移動副應采用面面距離約束。關鍵代碼如下:
//由機器人裝配模型的實例獲取原型
tRobotPart = UF_ASSEM_ask_prototype_of_occ (tRobot);
//設置當前機器人裝配模型為工作部件,并保存原始工作部件
UF_ASSEM_set_work_part_quietly (tRobotPart, &tOldWorkPart);
//創(chuàng)建裝配模型中轉動關節(jié)角度約束的表達式
sprintf (newExp, "%s=%lf", Joint.lh_str, Joint.dAngle);
//修改裝配約束
UF_MODL_edit_exp (newExp);
//更新模型,這樣機器人運動副就發(fā)生了轉動
UF_MODL_update ( );
//恢復原始工作部件為當前工作部件
UF_ASSEM_set_work_part_quietly (tOldWorkPart, &tRobotPart);
采用裝配重定位的方案不需要建立裝配約束,但需要指定桿件局部坐標系原點和姿態(tài)矩陣的前6個元素。關鍵代碼如下:
// Joint.tIns為桿件實例;new_origin是double[3]數(shù)組,為局部坐標系原點;new_csys_matrix是double[6]數(shù)組,為局部坐標系x軸和y軸的姿態(tài)
UF_ASSEM_reposition_instance (Joint.tIns, new_origin, new_csys_matrix);
仿真系統(tǒng)中機器人運動過程如圖4所示。
圖4 兩臺六自由度焊接機器人協(xié)同運動
4. 機器人運動過程碰撞檢測及實現(xiàn)碰撞檢測可以防止機器人運動過程中與工件、夾具、機架等發(fā)生干涉。由人機接口層中的碰撞檢測開關,作業(yè)管理層中的碰撞檢測子模塊,和UG支撐層中的間隙檢查功能構成。機器人運動過程中的碰撞檢測流程如圖5所示。UG支撐層中實現(xiàn)間隙檢查的關鍵代碼為:
//進行間隙分析,datasetWorkpart為分析結果數(shù)據集合
UF_CLEAR_do_clearance_analysis(datasetWorkpart);
//獲得間隙分析結果,其中summary.n_all_interf中存儲了干涉數(shù)目
UF_CLEAR_ask_results(datasetWorkpart,&summary);
仿真系統(tǒng)中機器人碰撞檢測如圖6所示。
圖5 碰撞檢測流程
圖6 機器人碰撞檢測
5. 結論本文采用UG軟件的Open C API二次開發(fā)技術,構造了與UG無縫集成的工業(yè)機器人作業(yè)仿真系統(tǒng)。設計了包含人機接口層、作業(yè)管理層、UG支撐層的機器人作業(yè)仿真軟件體系結構。針對UG運動模塊難以進行二次開發(fā)的問題,本文通過對UG裝配模塊的二次開發(fā)來實現(xiàn)機器人運動仿真。機器人運動過程碰撞檢測功能則由UG間隙檢查模塊的二次開發(fā)實現(xiàn)。仿真軟件成功地應用于汽車門框焊接機器人的作業(yè)仿真及布局設計。
提交
查看更多評論
其他資訊
超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機械的智能化轉型
新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會
派拓網絡被Forrester評為XDR領域領導者
智能工控,存儲強基 | ??低晭砭手黝}演講
展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會